home *** CD-ROM | disk | FTP | other *** search
/ Zoom 2 / Zoom - Release 2 (1996)(Active Software)[!].iso / programming / amigae / xpk25edev / xpk25edev.readme < prev    next >
Encoding:
Text File  |  1996-01-19  |  4.3 KB  |  135 lines

  1. Short:    Use Amiga-E to create xpk sublibraries.
  2. Uploader: Torgil Svenssom (snorq@lyator.liu.se)
  3. Author:   Torgil Svensson (snorq@lysator.liu.se)
  4. Type:     dev/e
  5. Distribution: Your choice.
  6. Requirements: Any Amiga. Amiga-E V3.2+, xpk25usr + xpk25dev packages.
  7. Restrictions: Not much to add here.
  8.  
  9. Please send me bugreports, comments, suggestions, other examples etc.
  10.  
  11.  
  12. archive contents:
  13. ----------------------------------------------------------------------
  14. README                      - this file
  15. xpkrev                      - modified bumpee program for revision ctrl
  16. Bumpee1_44.lha              - orig. bumpee prog by Leon Woestenberg
  17.  
  18. none/none.e                 - example library
  19. none/none_xpkrev.e          - revision module for use with xpkrev
  20. none/none_xpkrev.m          - compiled module
  21.  
  22. source/xpk.e                - converted from xpk.h
  23. source/xpksub.e             - converted from xpksub.h
  24. source/xpk_pragmas.h        - from xpk.h
  25. source/xpksub_pragmas.h     - from xpksub.h
  26. source/xpkrev.e             - source to xpkrev
  27. source/xpkrev_rev.e         - revision module for use with Bumpee
  28. source/xpkrev_rev.m         - compiled module
  29.  
  30. modules/xpk.m               - Pragma2Module xpk_pragmas.h (libcalls)
  31. modules/xpksub.m            - Pragma2Module xpksub_pragmas.h
  32. modules/libraries/xpk.m     - EC xpk.e
  33. modules/libraries/xpksub.m  - EC xpksub.e
  34. ----------------------------------------------------------------------
  35.  
  36.  
  37. USE THEESE FILES ON YOUR OWN RISK
  38.  
  39. xpk.h & xpksub.h mentioned above are those in the xpk25dev.lha archive.
  40.  
  41.  
  42. installation: simply copy the module files where they belong.
  43.  
  44. copy modules/xpk.m EMODULES:
  45. copy modules/xpksub.m EMODULES:
  46. copy modules/libraries/xpk.m EMODULES:libraries
  47. copy modules/libraries/xpksub.m EMODULES:libraries
  48.  
  49.  
  50. The included example sub library does no compression but
  51. is a good example for beginners (read the docs in the xpk developer
  52. archive and of the E language library mode carefully).
  53.  
  54. Here are some notes about the example program.
  55.  
  56. - For version/revision control I have used the xpkrev program (included)
  57.   which is a changed version of Bumpee program by Leon Woestenberg.
  58.   xpkrev is done for use with xpk sublibraries.
  59.  
  60.   All the changes are listed in the source xpkrev.e.
  61.  
  62.   some chages are:
  63.  
  64.   * new options (keywords) in xpkrev
  65.  
  66.     BUMPINFO=INFO/S    bump info structure version
  67.     BUMPMODES=MODES/S  bumps modes descriptors version
  68.  
  69.   * defines to build other defines (look in a _xpkrev.e file)
  70.  
  71.   * an sourcename none.e will get an LIB_NAME xpkNONE.library
  72.     (source name are converted to upper case) NAME=NONE
  73.  
  74.   Look in an _xpkrev.e file to see what defines/constants you can use.
  75.  
  76.   Read bumpee.doc about all the details.
  77.  
  78.  
  79. - There are a dummy parameters in the library functions to force 'param'
  80.   in register a0 which are required by the xpk package.
  81.  
  82.  
  83. Includes are converted to modules as follows
  84.  
  85. - Removed tags/hooks definitions. Use utility/? instead.
  86.  
  87. - All constants defines replaced with CONST
  88.   with original names
  89.  
  90. - All struct definitions replaced with objects
  91.  
  92. - Object and field names are the same as the original
  93.   except the two first letters that are converted to
  94.   lower case!!
  95.  
  96.   example      : tyedef struct XpkIOMsg {
  97.                    ULONG Type;
  98.                    ...
  99.                  } XIOMSG;
  100.  
  101.   converted as : OBJECT xpkIOMsg
  102.                    type:LONG   -> (unsigned)
  103.                    ...
  104.                  ENDOBJECT
  105.  
  106. - field type conversion :
  107.  
  108.     LONG    <var>         ->    <var>       :LONG
  109.     LONG    <var>[n]      ->    <var>[n]    :ARRAY OF LONG
  110.     ULONG   <var>         ->    <var>       :LONG          -> (unsigned)
  111.     WORD    <var>         ->    <var>       :INT
  112.     UWORD   <var>         ->    <var>       :INT           -> (unsigned)
  113.     BYTE    <var>[n]      ->    <var>[n]    :ARRAY
  114.     BYTE    <var>[n][m]   ->    <var>[n*m]  :ARRAY         -> ...
  115.     UBYTE   <var>[n]      ->    <var>[n]    :ARRAY         -> (unsigned)
  116.     APTR    <var>         ->    <var>       :LONG          -> (APTR)
  117.     STRPTR  <var>         ->    <var>       :PTR TO CHAR
  118.  
  119. - All typedefs are removed. If you really want them, you'll have to
  120.   #define them. Here's the list
  121.  
  122. xpk.h
  123.   #define XIOMSG  xpkIOMsg
  124.   #define XPROG   xpkProgress
  125.   #define XFIB    xpkFib
  126.   #define XPINFO  xpkPackerInfo
  127.   #define XMINFO  xpkMode
  128.   #define XPLIST  xpkPackerList
  129.   #define XFH     xpkFib
  130.  
  131. xpksub.h
  132.   #define XINFO   xpkInfo
  133.   #define XPARAMS xpkSubParams
  134.  
  135.